package GenericClass;

public class GenericStack<E> {
    // java.util.ArrayList<E> 一个数组列表，用于储存元素
    private java.util.ArrayList<E> list = new java.util.ArrayList<>();
    // getSize()返回栈中的元素数目
    public int getSize() { return list.size(); }
    // peek()返回栈顶元素
    public E peek() { return list.get(getSize() - 1);}
    // push()添加一个新的元素到栈顶
    public void push(E o) {
        list.add(o);
    }
    // pop()返回并移除栈顶元素
    public E pop(){
        E o = list.get(getSize() - 1);
        list.remove(getSize() -1);
        return o;
    }
    // isEmpty()如果栈为空，则返回true
    public boolean isEmpty() { return list.isEmpty();}

//    @Deprecated
    public String toSreing() { return "stack:" + list.toString();}
}
